package com.haoze.nurseapp.model;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp;
import java.util.Date;

@Table(name = "EMR.PATIENT_ORDERS")
public class PatientOrdersEntity {


    @Id
    @Column(name = "INPATORDERDATA_ID")
    private String inpatorderdataId; //主键

    @Column(name = "DATA_VERSION")
    private Integer dataVersion; // 数据版本

    @Column(name = "GMT_CREATE")
    private Date gmtCreate; // 数据创建时间

    @Column(name = "GMT_MODIFY")
    private Date gmtModify; // 数据修改时间

    @Column(name = "HOSPITAL_ID")
    private String hospitalId; // 医疗机构ID 关联EHR_INSTITUTION_INDEX.HOSPITAL_ID

    @Column(name = "OUTPAT_NUM")
    private String outpatNum; // 门（急)诊号

    @Column(name = "INPAT_NUM")
    private String inpatNum; // 住院号

    @Column(name = "PAT_TYPE_ID")
    private String patTypeId; // 患者类型代码 PD0000000129

    @Column(name = "DEPT_ID")
    private String deptId; // 科室代码 关联SYS_DEPT_DICT.DEPT_ID

    @Column(name = "WARD_DEPT_ID")
    private String wardDeptId; // 病区代码 关联SYS_DEPT_DICT.DEPT_ID

    @Column(name = "WARD_ROOM_NO")
    private String wardRoomNo; // 病房号

    @Column(name = "BED_NO")
    private String bedNo; // 病床号

    @Column(name = "ORDER_NO")
    private Integer orderNo; // 处方药品组号

    @Column(name = "ORDER_SUB_NO")
    private Integer orderSubNo; // 处方药品组序号

    @Column(name = "REQ_NUM")
    private String reqNum; // 电子申请单编号

    @Column(name = "SERIAL_NUMBER")
    private Integer serialNumber; // 申请单序号

    @Column(name = "ORDERS_CLASS_ID")
    private String ordersClassId; // 医嘱类别代码

    @Column(name = "ITEM_CLASS_ID")
    private String itemClassId; // 医嘱项目类型代码

    @Column(name = "ORDERS_ITEM_ID")
    private String ordersItemId; // 医嘱项目/药物代码 关联SYS_DRUG_DICT.DRUG_ID/SYSMN.SYS_SERVICE_ITEM_DICT.ITEM_ID

    @Column(name = "ORDERS_ITEM")
    private String ordersItem; // 医嘱项目/药物内容

    @Column(name = "ITEM_SPEC")
    private String itemSpec; // 医嘱项目/药物规格

    @Column(name = "ITEM_DOSAGE")
    private Double itemDosage; // 药物使用次剂量

    @Column(name = "UNIT_ID")
    private String unitId; // 药物使用剂量单位

    @Column(name = "FREQ_ID")
    private String freqId; // 药物使用频次代码

    @Column(name = "ADMINISTRATION")
    private String administration; // 用药途径代码

    @Column(name = "TOTAL_DOSAGE")
    private Double totalDosage; // 药物使用总剂量

    @Column(name = "PLAN_BEGIN_DATETIME")
    private Date planBeginDatetime; // 医嘱计划开始日期时间

    @Column(name = "PLAN_END_DATETIME")
    private Date planEndDatetime; // 医嘱计划结束日期时间

    @Column(name = "ORDERS_REMARK")
    private String ordersRemark; // 医嘱备注信息

    @Column(name = "CREATE_PERSON_ID")
    private String createPersonId; // 医嘱开立者签名代码 关联SYS_USER.USER_ID

    @Column(name = "CREATE_DATETIME")
    private Timestamp createDatetime; // 医嘱开立日期时间

    @Column(name = "CREATE_DEPT_ID")
    private String createDeptId; // 医嘱开立科室代码 关联SYS_DEPT_DICT.DEPT_ID

    @Column(name = "AUDITOR_PERSON_ID")
    private String auditorPersonId; // 医嘱审核人签名代码 关联SYS_USER.USER_ID

    @Column(name = "AUDITOR_DATETIME")
    private Date auditorDatetime; // 医嘱审核日期时间

    @Column(name = "CHECK_NURSE_PERSON_ID")
    private String checkNursePersonId; // 核对医嘱护士签名代码 关联SYS_USER.USER_ID

    @Column(name = "CHECK_DATE")
    private Date checkDate; // 医嘱核对日期时间

    @Column(name = "EXEC_PERSON_ID")
    private String execPersonId; // 医嘱执行者签名代码 关联SYS_USER.USER_ID

    @Column(name = "EXEC_DATETIME")
    private Date execDatetime; // 医嘱执行日期时间

    @Column(name = "EXEC_DEPT_ID")
    private String execDeptId; // 医嘱执行科室代码 关联SYS_DEPT_DICT.DEPT_ID

    @Column(name = "EXEC_STATUS")
    private String execStatus; // 医嘱执行状态

    @Column(name = "STOP_DATETIME")
    private Date stopDatetime; // 医嘱停止日期时间

    @Column(name = "STOP_PERSON_ID")
    private String stopPersonId; // 停止医嘱者签名代码 关联SYS_USER.USER_ID

    @Column(name = "CANCEL_DATETIME")
    private Date cancelDatetime; // 医嘱取消日期时间

    @Column(name = "CANCEL_PERSON_ID")
    private String cancelPersonId; // 取消医嘱者签名代码 关联SYS_USER.USER_ID

    @Column(name = "CANCEL_PERSON_ID")
    private Timestamp confirmDatetime; //确认日期时间

    @Column(name = "CRON_DESCRIBER")
    private  String cronDescriber;//CRON描述，频次表达式

    @Column(name = "LAST_EXECUTE_TIME")
    private Timestamp lastExecuteTime;//本轮最后执行时间

    @Column(name = "FREQ_DESCRIPTION")
    private String freqDescription;//频次描述

    @Column(name = "PY_CODE")
    private String pyCode;//拼音码

    @Column(name = "EXEC_STATUS_HIS")
    private String execStatusHis;//HIS医嘱状态：0新开,1提交,2复核,3停止,4取消/作废

    @Column(name = "PERFORM_RESULT")
    private String performResult;//执行结果：(-)阴性,(+)阳性

    @Column(name = "STOP_NURSE_ID")
    private String stopNurseId; //停止医嘱护士签名代码

    @Column(name = "NURSE_STOP_DATETIME")
    private Timestamp nurseStopDatetime;//护士停止时间

    @Column(name = "CREATE_CHECK_DATETIME")
    private Timestamp createCheckDatetime;//新医嘱核对时间

    @Column(name = "CREATE_CHECK_PERSON_ID")
    private String createCheckPersonId;//新医嘱核对签名

    @Column(name = "STOP_CHECK_DATETIME")
    private Timestamp stopCheckDatetime;//停止医嘱核对时间

    @Column(name = "STOP_CHECK_PERSON_ID")
    private String stopCheckPersonId;//停止医嘱核对签名


    @Column(name = "CANCEL_CHECK_DATATIME")
    private Timestamp cancelCheckDatatime;//取消医嘱核对时间

    @Column(name = "CANCEL_CHECK_PERSON_ID")
    private String cancelCheckPersonId;//取消医嘱核对签名



    public String getInpatorderdataId() {
        return inpatorderdataId;
    }

    public void setInpatorderdataId(String inpatorderdataId) {
        this.inpatorderdataId = inpatorderdataId;
    }

    public Integer getDataVersion() {
        return dataVersion;
    }

    public void setDataVersion(Integer dataVersion) {
        this.dataVersion = dataVersion;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModify() {
        return gmtModify;
    }

    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    public String getHospitalId() {
        return hospitalId;
    }

    public void setHospitalId(String hospitalId) {
        this.hospitalId = hospitalId;
    }

    public String getOutpatNum() {
        return outpatNum;
    }

    public void setOutpatNum(String outpatNum) {
        this.outpatNum = outpatNum;
    }

    public String getInpatNum() {
        return inpatNum;
    }

    public void setInpatNum(String inpatNum) {
        this.inpatNum = inpatNum;
    }

    public String getPatTypeId() {
        return patTypeId;
    }

    public void setPatTypeId(String patTypeId) {
        this.patTypeId = patTypeId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getWardDeptId() {
        return wardDeptId;
    }

    public void setWardDeptId(String wardDeptId) {
        this.wardDeptId = wardDeptId;
    }

    public String getWardRoomNo() {
        return wardRoomNo;
    }

    public void setWardRoomNo(String wardRoomNo) {
        this.wardRoomNo = wardRoomNo;
    }

    public String getBedNo() {
        return bedNo;
    }

    public void setBedNo(String bedNo) {
        this.bedNo = bedNo;
    }

    public Integer getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(Integer orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getOrderSubNo() {
        return orderSubNo;
    }

    public void setOrderSubNo(Integer orderSubNo) {
        this.orderSubNo = orderSubNo;
    }

    public String getReqNum() {
        return reqNum;
    }

    public void setReqNum(String reqNum) {
        this.reqNum = reqNum;
    }

    public Integer getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(Integer serialNumber) {
        this.serialNumber = serialNumber;
    }

    public String getOrdersClassId() {
        return ordersClassId;
    }

    public void setOrdersClassId(String ordersClassId) {
        this.ordersClassId = ordersClassId;
    }

    public String getItemClassId() {
        return itemClassId;
    }

    public void setItemClassId(String itemClassId) {
        this.itemClassId = itemClassId;
    }

    public String getOrdersItemId() {
        return ordersItemId;
    }

    public void setOrdersItemId(String ordersItemId) {
        this.ordersItemId = ordersItemId;
    }

    public String getOrdersItem() {
        return ordersItem;
    }

    public void setOrdersItem(String ordersItem) {
        this.ordersItem = ordersItem;
    }

    public String getItemSpec() {
        return itemSpec;
    }

    public void setItemSpec(String itemSpec) {
        this.itemSpec = itemSpec;
    }

    public Double getItemDosage() {
        return itemDosage;
    }

    public void setItemDosage(Double itemDosage) {
        this.itemDosage = itemDosage;
    }

    public Double getTotalDosage() {
        return totalDosage;
    }

    public void setTotalDosage(Double totalDosage) {
        this.totalDosage = totalDosage;
    }

    public String getUnitId() {
        return unitId;
    }

    public void setUnitId(String unitId) {
        this.unitId = unitId;
    }

    public String getFreqId() {
        return freqId;
    }

    public void setFreqId(String freqId) {
        this.freqId = freqId;
    }

    public String getAdministration() {
        return administration;
    }

    public void setAdministration(String administration) {
        this.administration = administration;
    }


    public Date getPlanBeginDatetime() {
        return planBeginDatetime;
    }

    public void setPlanBeginDatetime(Date planBeginDatetime) {
        this.planBeginDatetime = planBeginDatetime;
    }

    public Date getPlanEndDatetime() {
        return planEndDatetime;
    }

    public void setPlanEndDatetime(Date planEndDatetime) {
        this.planEndDatetime = planEndDatetime;
    }

    public String getOrdersRemark() {
        return ordersRemark;
    }

    public void setOrdersRemark(String ordersRemark) {
        this.ordersRemark = ordersRemark;
    }

    public String getCreatePersonId() {
        return createPersonId;
    }

    public void setCreatePersonId(String createPersonId) {
        this.createPersonId = createPersonId;
    }

    public Timestamp getCreateDatetime() {
        return createDatetime;
    }

    public void setCreateDatetime(Timestamp createDatetime) {
        this.createDatetime = createDatetime;
    }

    public String getCreateDeptId() {
        return createDeptId;
    }

    public void setCreateDeptId(String createDeptId) {
        this.createDeptId = createDeptId;
    }

    public String getAuditorPersonId() {
        return auditorPersonId;
    }

    public void setAuditorPersonId(String auditorPersonId) {
        this.auditorPersonId = auditorPersonId;
    }

    public Date getAuditorDatetime() {
        return auditorDatetime;
    }

    public void setAuditorDatetime(Date auditorDatetime) {
        this.auditorDatetime = auditorDatetime;
    }

    public String getCheckNursePersonId() {
        return checkNursePersonId;
    }

    public void setCheckNursePersonId(String checkNursePersonId) {
        this.checkNursePersonId = checkNursePersonId;
    }

    public Date getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    public String getExecPersonId() {
        return execPersonId;
    }

    public void setExecPersonId(String execPersonId) {
        this.execPersonId = execPersonId;
    }

    public Date getExecDatetime() {
        return execDatetime;
    }

    public void setExecDatetime(Date execDatetime) {
        this.execDatetime = execDatetime;
    }

    public String getExecDeptId() {
        return execDeptId;
    }

    public void setExecDeptId(String execDeptId) {
        this.execDeptId = execDeptId;
    }

    public String getExecStatus() {
        return execStatus;
    }

    public void setExecStatus(String execStatus) {
        this.execStatus = execStatus;
    }

    public Date getStopDatetime() {
        return stopDatetime;
    }

    public void setStopDatetime(Date stopDatetime) {
        this.stopDatetime = stopDatetime;
    }

    public String getStopPersonId() {
        return stopPersonId;
    }

    public void setStopPersonId(String stopPersonId) {
        this.stopPersonId = stopPersonId;
    }

    public Date getCancelDatetime() {
        return cancelDatetime;
    }

    public void setCancelDatetime(Date cancelDatetime) {
        this.cancelDatetime = cancelDatetime;
    }

    public String getCancelPersonId() {
        return cancelPersonId;
    }

    public void setCancelPersonId(String cancelPersonId) {
        this.cancelPersonId = cancelPersonId;
    }

    public Timestamp getConfirmDatetime() {
        return confirmDatetime;
    }

    public void setConfirmDatetime(Timestamp confirmDatetime) {
        this.confirmDatetime = confirmDatetime;
    }

    public String getCronDescriber() {
        return cronDescriber;
    }

    public void setCronDescriber(String cronDescriber) {
        this.cronDescriber = cronDescriber;
    }

    public Timestamp getLastExecuteTime() {
        return lastExecuteTime;
    }

    public void setLastExecuteTime(Timestamp lastExecuteTime) {
        this.lastExecuteTime = lastExecuteTime;
    }

    public String getFreqDescription() {
        return freqDescription;
    }

    public void setFreqDescription(String freqDescription) {
        this.freqDescription = freqDescription;
    }

    public String getPyCode() {
        return pyCode;
    }

    public void setPyCode(String pyCode) {
        this.pyCode = pyCode;
    }

    public String getExecStatusHis() {
        return execStatusHis;
    }

    public void setExecStatusHis(String execStatusHis) {
        this.execStatusHis = execStatusHis;
    }

    public String getPerformResult() {
        return performResult;
    }

    public void setPerformResult(String performResult) {
        this.performResult = performResult;
    }

    public String getStopNurseId() {
        return stopNurseId;
    }

    public void setStopNurseId(String stopNurseId) {
        this.stopNurseId = stopNurseId;
    }

    public Timestamp getNurseStopDatetime() {
        return nurseStopDatetime;
    }

    public void setNurseStopDatetime(Timestamp nurseStopDatetime) {
        this.nurseStopDatetime = nurseStopDatetime;
    }

    public Timestamp getCreateCheckDatetime() {
        return createCheckDatetime;
    }

    public void setCreateCheckDatetime(Timestamp createCheckDatetime) {
        this.createCheckDatetime = createCheckDatetime;
    }

    public Timestamp getStopCheckDatetime() {
        return stopCheckDatetime;
    }

    public void setStopCheckDatetime(Timestamp stopCheckDatetime) {
        this.stopCheckDatetime = stopCheckDatetime;
    }

    public String getCreateCheckPersonId() {
        return createCheckPersonId;
    }

    public void setCreateCheckPersonId(String createCheckPersonId) {
        this.createCheckPersonId = createCheckPersonId;
    }

    public String getStopCheckPersonId() {
        return stopCheckPersonId;
    }

    public void setStopCheckPersonId(String stopCheckPersonId) {
        this.stopCheckPersonId = stopCheckPersonId;
    }

    public Timestamp getCancelCheckDatatime() {
        return cancelCheckDatatime;
    }

    public void setCancelCheckDatatime(Timestamp cancelCheckDatatime) {
        this.cancelCheckDatatime = cancelCheckDatatime;
    }

    public String getCancelCheckPersonId() {
        return cancelCheckPersonId;
    }

    public void setCancelCheckPersonId(String cancelCheckPersonId) {
        this.cancelCheckPersonId = cancelCheckPersonId;
    }

    @Override
    public String toString() {
        return "PatientOrders{" +
                "inpatorderdataId='" + inpatorderdataId + '\'' +
                ", dataVersion=" + dataVersion +
                ", gmtCreate=" + gmtCreate +
                ", gmtModify=" + gmtModify +
                ", hospitalId='" + hospitalId + '\'' +
                ", outpatNum='" + outpatNum + '\'' +
                ", inpatNum='" + inpatNum + '\'' +
                ", patTypeId='" + patTypeId + '\'' +
                ", deptId='" + deptId + '\'' +
                ", wardDeptId='" + wardDeptId + '\'' +
                ", wardRoomNo='" + wardRoomNo + '\'' +
                ", bedNo='" + bedNo + '\'' +
                ", orderNo=" + orderNo +
                ", orderSubNo=" + orderSubNo +
                ", reqNum='" + reqNum + '\'' +
                ", serialNumber=" + serialNumber +
                ", ordersClassId='" + ordersClassId + '\'' +
                ", itemClassId='" + itemClassId + '\'' +
                ", ordersItemId='" + ordersItemId + '\'' +
                ", ordersItem='" + ordersItem + '\'' +
                ", itemSpec='" + itemSpec + '\'' +
                ", itemDosage=" + itemDosage +
                ", unitId='" + unitId + '\'' +
                ", freqId='" + freqId + '\'' +
                ", administration='" + administration + '\'' +
                ", totalDosage=" + totalDosage +
                ", planBeginDatetime=" + planBeginDatetime +
                ", planEndDatetime=" + planEndDatetime +
                ", ordersRemark='" + ordersRemark + '\'' +
                ", createPersonId='" + createPersonId + '\'' +
                ", createDatetime=" + createDatetime +
                ", createDeptId='" + createDeptId + '\'' +
                ", auditorPersonId='" + auditorPersonId + '\'' +
                ", auditorDatetime=" + auditorDatetime +
                ", checkNursePersonId='" + checkNursePersonId + '\'' +
                ", checkDate=" + checkDate +
                ", execPersonId='" + execPersonId + '\'' +
                ", execDatetime=" + execDatetime +
                ", execDeptId='" + execDeptId + '\'' +
                ", execStatus='" + execStatus + '\'' +
                ", stopDatetime=" + stopDatetime +
                ", stopPersonId='" + stopPersonId + '\'' +
                ", cancelDatetime=" + cancelDatetime +
                ", cancelPersonId='" + cancelPersonId + '\'' +
                '}';
    }

    public PatientOrdersEntity() {
    }
}
